/*
 * To change this template, choose Tools | Templates and open the template in
 * the editor.
 */

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import javax.naming.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
import javax.sql.*;

/**
 *
 * @author Enyths
 */
public class PopulateDB extends HttpServlet {

    /**
     * Processes requests for both HTTP
     * <code>GET</code> and
     * <code>POST</code> methods.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
                PrintWriter out = response.getWriter();

                out.println("<html> <head> <title>Info</title> </head>");
                      

                try  
                { 
                   Context initCtx = new InitialContext();

                   DataSource dataSource = (DataSource)initCtx.lookup("jdbc/DBJeemusic");

                   Connection connection =  dataSource.getConnection();
                   Statement requete = connection.createStatement();
                   PreparedStatement requetePreparedMusic = connection.prepareStatement("INSERT INTO chanson(titre, texte, auteurId) VALUES (?, ?, ?)");
                   ResultSet rset;
                   
                   
                   
                   String music1 = "J’aime pas les parisiennes\n"+
                           "J’aime pas les filles qui s’aiment\n"+
                           "Celles qui se regardent dans la vitre du métro\n"+
                           "J’aime pas les commédiennes\n"+
                           "J’aime pas les filles mondaines\n"+
                           "J’aime pas celles qui se laissent inviter au resto\n\n"+
                           "J’aime pas les filles trop belles\n"+
                           "Les petites filles modèles\n"+
                           "T as peur qu on te les vole dès que tu tournes le dos\n\n"+
                           "J’aime pas les filles fashion\n"+
                           "Les fausses Paris Hilton\n"+
                           "Celles qui se maquillent même pour aller au Mac Do\n\n"+
                           "Moi J’aime les moches\n"+
                           "Parce qu on se les fait pas piquer\n"+
                           "J’aime les moches\n"+
                           "On se sent plus beau à côté\n"+
                           "Moi J’aime les moches\n"+
                           "Et j ai du mal à m en passer\n"+
                           "J’aime les moches\n"+
                           "Oho, oho\n\n"+
                           "Moi J’aime les moches\n"+
                           "Fini la haute gastronomie\n"+
                           "J’aime les moches\n"+
                           "Moi j veux une boîte de ravioli\n"+
                           "Moi J’aime les moches\n"+
                           "Parce qu elles veulent bien v’nir dans mon lit.\n"+
                           "J’aime les moches\n"+
                           "Oho, oho\n\n"+
                           "J’aime pas les ptites bourgeoises,\n"+
                           "Qui te rangent dans une case\n"+
                           "T as toujours l’impression de pas être au niveau\n"+
                           "J’aime pas le genre de fille\n"+
                           "Qui traîne en boîte de nuit\n"+
                           "Et qui te refile toujours un faux numéro\n\n"+
                           "Moi J’aime les moches\n"+
                           "Ca m donne un côté tolérant\n"+
                           "J’aime les moches\n"+
                           "Ca me rend plus intelligent\n"+
                           "Moi J’aime les moches\n"+
                           "Et les moyennes de temps en temps\n"+
                           "J’aime les moches\n"+
                           "Oho, oho\n\n"+
                           "Moi J’aime les moches\n"+
                           "J’m’en fou des manequins à talons\n"+
                           "J’aime les moches\n"+
                           "J veux qu elles s habillent chez Decatlon\n"+
                           "Moi J’aime les moches\n"+
                           "Moi J’aime le boudin J’aime le thon\n"+
                           "J’aime les moches\n"+
                           "Oho, oho\n\n"+
                           "Na na na, na na na, na na na na na na na\n"+
                           "Na na na, na na na, na na na na na na na\n"+
                           "Na na na, na na na, na na na na na na na\n"+
                           "Na na na, na na na, na na na\n\n"+
                           "Moi J’aime les moches\n"+
                           "Même si la déco est banale\n"+
                           "J’aime les moches\n"+
                           "Il fait chaud dans un deux étoiles.\n"+
                           "Moi J’aime les moches\n"+
                           "Faut soigner le mal par le mal\n"+
                           "J’aime les moches\n"+
                           "Oho, oho\n\n"+
                           "Moi J’aime les moches\n"+
                           "Y en a qui aiment les Picasso\n"+
                           "J’aime les moches\n"+
                           "J les aime en vrai pas en tableau\n"+
                           "Moi J’aime les moches\n"+
                           "J’aime les laidrons J’aime les cajots\n"+
                           "J’aime les moches\n"+
                           "Oho, oho\n\n"+
                           "Na na na, na na na, na na na na na na na\n"+
                           "Na na na, na na na, na na na na na na na\n"+
                           "Na na na, na na na, na na na na na na na\n"+
                           "Na na na, na na na, na na na";
                   
                   
                   String music2 = "Je rentre chez moi le diner est prêt\n"+
                           "Je vois sur la table des bougies\n"+
                           "allumées\n"+
                           "Je ne suis pas sur de ce qu il faut penser\n"+
                           "Un fond musicale, du Marvin Gaye\n"+
                           "Un bouquet de rose encore emballé\n"+
                           "Quelque chose de louche est en train de se passer\n"+
                           "Je crois que mon colloc veut me serrer\n"+
                           "Parfois il fait des trucs un peu suspect\n"+
                           "Ce matin il m a servi le petit-déjeuner au lit\n"+
                           "Je crois que mon colloc veut me serrer\n"+
                           "Maintenant mon colloc est devenu écolo\n"+
                           "Et pour qu on arrête de gaspiller de l eau\n"+
                           "Il vient dans mon bain sans porter de maillot\n"+
                           "Je crois que mon colloc veut me serrer\n"+
                           "Il surveille tout ce que je veux manger\n"+
                           "Il aime pas quand je grossi, il me dit que c est pas sexy\n"+
                           "Je crois que mon colloc veut me serrer\n"+
                           "C est surement moi qui me fais des idées\n"+
                           "Mais c est ma première colloc je ne sais pas comment ca se passe\n"+
                           "Alors peut-être c est normal que lorsqu on regarde la télé tous\n"+
                           "les deux\n"+
                           "Tu t allonge sur mes genoux et tu m appelles \"Ta petite princesse\"\n"+
                           "je sais pas\n"+
                           "P t être je flippe pour rien mais ce qui m aiderai\n"+
                           "C est que t arrête de me dire que j ai un beau cul toute la\n"+
                           "journée\n"+
                           "Et puis arrête de m acheter des vêtements aussi,\n"+
                           "Je t en supplie arrête de m acheter des vêtements\n"+
                           "On achète pas des vêtements à un pote comme ca sans raison\n"+
                           "Je crois que mon colloc veut me serrer\n"+
                           "Et l autre fois pendant que je dormais\n"+
                           "J ai senti sous mes draps qu il n y avait pas que moi\n"+
                           "Je crois que mon colloc va me violer.\n";
                   
                   
                   
                    String music3 = "Est-ce que tu rappelles quand on prenait le temps\n"+
                           "De saimer vraiment\n"+
                           "Est ce que tu te souviens de tes sourires innocents\n"+
                           "On était des enfants\n"+
                           "Ce soir je suis là pour toi, j’ai coupé mon téléphone\n"+
                           "Je ne veux voir personne\n"+
                           "Je veux qu’on soit comme avant\n"+
                           "Qu’on ait les mains qui tremblent\n"+
                           "Je veux plus attendre\n"+
                           "\n"+
                           "Ho ! Ce soir tu vas prendre\n"+
                           "Oui tu vas prendre\n"+
                           "\n"+
                           "Comme si je sortais de prison\n"+
                           "Après 20 ans de réclusion\n"+
                           "\n"+
                           "Ho ! Ce soir tu vas prendre\n"+
                           "Oui tu vas prendre\n"+
                           "\n"+
                           "J’ai vu des culs toute la journée\n"+
                           "Tant pis c’est toi qui va payer\n"+
                           "\n"+
                           "Ho tu vas prendre !\n"+
                           "\n"+
                           "Je suis fragile comme une fleur\n"+
                           "Fragile comme la soie\n"+
                           "J’ai besoin de toi.\n"+
                           "Je ne tarderais pas mon cœur\n"+
                           "Glisses toi dans les draps\n"+
                           "Mais surtout ne t’endors pas\n"+
                           "Parce que ce soir tu vas prendre\n"+
                           "\n"+
                           "Ho tu vas prendre !\n"+
                           "\n"+
                           "Je vais t’en mettre pour 10 ans\n"+
                           "Tu raconteras a tes enfants\n"+
                           "\n"+
                           "Ho tu vas prendre !\n"+
                           "\n"+
                           "Oui tu vas prendre\n"+
                           "\n"+
                           "J’espère que tu es véhiculé\n"+
                           "Parce que tu pourras plus marcher\n"+
                           "\n"+
                           "Ho tu vas prendre !\n"+
                           "\n"+
                           "L’amour c’est un peu ca\n"+
                           "C’est comme au cinéma\n"+
                           "D’ailleurs j’ai pris la caméra\n"+
                           "\n"+
                           "Et ce soir tu va prendre !\n"+
                           "Ho tu vas prendre !\n"+
                           "\n"+
                           "Je sais ta bouffé chez ta mère\n"+
                           "Mais je t’ai ramené le dessert\n"+
                           "Ho tu vas prendre !\n"+
                           "Oui tu vas prendre !\n"+
                           "Si jamais tu as encore faim\n"+
                           "J’ai ramené 2/3 copains\n"+
                           "\n"+
                           "Ho tu vas prendre !\n"+
                           "Mais tu vas prendre …\n"+
                           "\n"+
                           "Lalala\n"+
                           "Lalala\n"+
                           "\n"+
                           "Ce soir tu vas prendre\n"+
                           "Oui tu vas prendre\n"+
                           "\n"+
                           "Lalala\n"+
                           "Lalala\n";
                   
                   requete.executeUpdate("DELETE FROM chanson");
                   requete.executeUpdate("DELETE FROM auteur");
                   
                   
                   // Max Boubil
                   requete.executeUpdate("INSERT INTO auteur(nom, prenom, login, password) VALUES ('Boubil','Max','maxB','7de48f7f3950123caaa9ca093b73f7f')");
                   rset = requete.executeQuery("select id from auteur where nom = 'Boubil' and prenom = 'Max'");
                   rset.next();
                   
                   requetePreparedMusic.setString(1, "J’aime les moches");
                   requetePreparedMusic.setString(2, music1);
                   requetePreparedMusic.setString(3, rset.getString("id"));
                   requetePreparedMusic.executeUpdate();
                   requetePreparedMusic.setString(1, "Mon coloc");
                   requetePreparedMusic.setString(2, music2);
                   requetePreparedMusic.executeUpdate();
                   requetePreparedMusic.setString(1, "Tu vas prendre");
                   requetePreparedMusic.setString(2, music3);
                   requetePreparedMusic.executeUpdate();
                   
                   
                   
                   
                   requete.executeUpdate("INSERT INTO auteur(nom, prenom, login, password) VALUES ('Harper','Ben','benH','f08f9065d1dcb714a5ea9f6dda273d6a')");
                   
                   
                   requete.executeUpdate("INSERT INTO auteur(nom, prenom, login, password) VALUES ('Punk','Daft','daftP','f72e915795af04cd4da64414d9968ad')");
                   

                   connection.close();
                }
                catch (Exception ex){ex.printStackTrace();
                    out.println("<h1>Erreur : " + ex + "</h1>");
                }
                out.println("<h1>Base mise à jour</h1>");

                out.println("</body></html>");
                out.close(); 
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /** 
     * Handles the HTTP <code>GET</code> method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /** 
     * Handles the HTTP <code>POST</code> method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /** 
     * Returns a short description of the servlet.
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>
}
